Author Style "-esque" MCP Server
Provides a catalog of curated author writing styles and tools to blend or analyze them across eight dimensions for text and image prompt generation. It enables users to apply structured literary patterns through deterministic style modeling and coordinate-based interpolation.
README
Author Style "-esque" MCP Server
A curated catalog of 11 author writing styles decomposed into 8 orthogonal dimensions, with dual-output paths for text generation and image generation. Each style is an independent "stompbox" that colors prompts with structural writing patterns — not copied text.
Architecture
Layer 1: Taxonomy (0 tokens) → author_style_taxonomy.py
Layer 2: Deterministic (0 tokens) → author_style_operations.py
Layer 3: Creative synthesis → Consumer LLM responsibility
Server: FastMCP interface → author_style_mcp.py
Layer 1 holds the pure data — 11 author coordinates in 8D style-space, dimension specifications, and output vocabulary mappings. Layer 2 performs all deterministic operations: distance computation, weighted interpolation (blending), vocabulary extraction, and prompt generation. No LLM calls at any point. Layer 3 is left to the consuming application — a single Claude or other LLM call that uses the structured directives as creative input.
The Catalog
| ID | Style | Origin | Signature |
|---|---|---|---|
hemingway |
Hemingway-esque | English (American) | Iceberg theory, paratactic flatness, submerged tension |
de_sade |
Marquis de Sade-esque | French | Baroque nesting, exhaustive enumeration, philosophical excess |
le_guin |
Ursula K. Le Guin-esque | English (American) | Balanced cadence, anthropological worldbuilding, warm precision |
didion |
Joan Didion-esque | English (American) | Clinical observation, specific sensory detail, retrospective present |
lovecraft |
Lovecraft-esque | English (American) | Accumulative horror, archaic register, cosmic scale |
borges |
Borges-esque | Spanish (Argentine) | Labyrinthine logic, infinite recursion, philosophical miniatures |
murakami |
Murakami-esque | Japanese | Flat affect, mundane surrealism, domestic loneliness |
marquez |
Márquez-esque | Spanish (Colombian) | Magical realism, multigenerational fate, tropical profusion |
kafka |
Kafka-esque | German (Czech) | Bureaucratic absurdism, plain surface over impossible premise |
shonagon |
Sei Shōnagon-esque | Japanese (Classical) | List-form observation, radical sensory specificity, aesthetic judgment |
lispector |
Clarice Lispector-esque | Brazilian Portuguese | Interior stream, philosophical viscerality, self-examining language |
The 8 Dimensions
All values normalized [0.0, 1.0].
| Dimension | Low End | High End | Text Output | Image Output |
|---|---|---|---|---|
| Syntactic Density | Paratactic / flat | Hypotactic / nested | Sentence length, clause depth | Compositional layering depth |
| Sensory Concreteness | Abstract / conceptual | Concrete / sensory | Noun register, verb type | Material rendering specificity |
| Ornamental Register | Stripped / minimal | Lush / baroque | Adjective density, figurative language | Surface detail complexity |
| Tension Visibility | Submerged / iceberg | Externalized / explicit | Show vs. tell ratio | Lighting drama, contrast ratio |
| Tension Temporality | Ruptural / episodic | Accumulative / inevitable | Pacing, foreshadowing density | Temporal framing, motion state |
| Reality Stability | Unstable / paradoxical | Stable / verifiable | Epistemic mode, hedging language | Spatial logic, physics accuracy |
| Interiority | Exterior / behavioral | Interior / consciousness | POV mode, thought access | Framing distance, depth of field |
| Temporal Mode | Eternal present / episodic | Cyclical / exhaustive | Tense, temporal scope | Motion blur, temporal compositing |
Tools
Layer 1 — Taxonomy Lookup (0 tokens)
get_author_styles()— List all 11 authors with coordinatesget_author_style_profile(author_id)— Complete profile: coordinates, signature moves, text/image vocabularyget_style_dimensions()— All 8 dimensions with low/mid/high output mappingsget_parameter_names()— Ordered parameter list for dynamics integration
Layer 2 — Deterministic Operations (0 tokens)
compute_author_distance(author_id_1, author_id_2)— Euclidean distance with per-dimension breakdownblend_author_styles(blend_spec_json)— Weighted interpolation of multiple stylesgenerate_text_style_prompt(author_id | blend_spec_json | custom_coordinates_json)— Text-generation directivesgenerate_image_style_prompt(author_id | blend_spec_json | custom_coordinates_json, style_modifier)— Image-generation visual vocabularyfind_style_extremes()— Maximum-contrast pair across catalogfind_nearest_style(author_id)— Closest neighbor in style-space
Usage Examples
Single style — text prompt
generate_text_style_prompt(author_id="kafka")
Returns structured directives: sentence architecture, vocabulary constraints, forbidden words, paragraph rhythm, and a composited master prompt string.
Single style — image prompt
generate_image_style_prompt(author_id="marquez", style_modifier="photorealistic")
Returns keywords, color palette, compositional rules, and per-dimension visual directives suitable for ComfyUI / Stable Diffusion / DALL-E.
Blended style
blend_author_styles('{"hemingway": 0.6, "borges": 0.3, "shonagon": 0.1}')
Interpolates in 8D style-space. Returns blended coordinates, nearest catalog author (Didion, distance 0.406), merged signature moves, and extracted text/image vocabularies for the blend point.
Distance analysis
compute_author_distance("hemingway", "lovecraft")
Returns Euclidean distance (1.863), per-dimension breakdown, and identifies the maximum-contrast axis (ornamental_register, gap 0.80).
Dynamics Integration
Coordinates are directly compatible with aesthetics-dynamics-core tools:
# Get Hemingway coordinates
coords = get_coordinates("hemingway")
# → {"syntactic_density": 0.10, "sensory_concreteness": 0.90, ...}
# Use with integrate_trajectory for smooth style morphing
integrate_trajectory(
start_state=get_coordinates("hemingway"),
target_state=get_coordinates("lovecraft"),
parameter_names=PARAMETER_NAMES,
num_steps=30
)
Also composable with catastrophe-morph and surface-design-aesthetics servers — stack an author style brick with a catastrophe type or surface treatment for cross-domain aesthetic composition.
Composition Example: The Stompbox Chain
User prompt
→ Hemingway-esque (text structure: terse, concrete, submerged)
→ Catastrophe Morph: cusp (visual geometry: sharp vertices, crystalline)
→ Surface Design: matte_ceramic (material: chalky, light-absorbing)
→ Final synthesis (single LLM call)
Each brick is independent, deterministic, and zero-cost. Creative synthesis happens once at the end.
Deployment
FastMCP Cloud entry point:
author_style_mcp.py:mcp
Local execution:
python author_style_mcp.py
File Structure
author_style_taxonomy.py # Layer 1: Types, dimensions, author catalog
author_style_operations.py # Layer 2: Distance, blend, prompt generation
author_style_mcp.py # FastMCP server with tool decorators
pyproject.toml # Package configuration
README.md # This file
Style-Space Topology Notes
From validation testing:
- Maximum contrast pair: Hemingway ↔ Lovecraft (1.863) — wider than Hemingway ↔ de Sade (1.792) due to Lovecraft's combined extremes on ornament, reality stability, and interiority
- Surprising neighbors: Kafka ↔ Le Guin (0.636) — structurally closer than their reputations suggest, sharing balanced syntactic density and mid-range tension handling
- Emergent blends: 60/30/10 Hemingway/Borges/Shōnagon lands in Didion's neighborhood — concreteness + interiority + sensory precision ≈ cool clinical observation
- Unique coordinate: Sei Shōnagon occupies a region no other author approaches — low density + extreme concreteness + episodic temporality + high interiority is a combination absent from the Western literary tradition
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.